package com.wlts.wzy.KSOrderModule.entity;

import com.wlts.wzy.Base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 快手订单表
 * </p>
 *
 * @author zhiyong
 * @since 2021-02-02
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="KsOrders对象", description="快手订单表")
public class KsOrders extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单号")
    private Long oid;

    @ApiModelProperty(value = "付款时间")
    private Long payTime;

    @ApiModelProperty(value = "卖家id")
    private Long sellerId;

    @ApiModelProperty(value = "卖家昵称")
    private String sellerNick;

    @ApiModelProperty(value = "运费")
    private Long expressFee;

    @ApiModelProperty(value = "折扣价格（单位分）")
    private Long discountFee;

    @ApiModelProperty(value = "货款, 商家维度，不包括运费 计算公式为：商品总金额(price * num)- 商家承担(merchantBearAmount)")
    private Long totalFee;

    @ApiModelProperty(value = "订单状态：[0, \"未知状态\"], [10, \"待付款\"], [30, \"已付款\"], [40, \"已发货\"], [50, \"已签收\"], [70, \"订单成功\"], [80, \"订单失败\"];")
    private Integer status;

    @ApiModelProperty(value = "发货时间")
    private Long sendTime;

    @ApiModelProperty(value = "退款时间(只要买家有申请退款行为)")
    private Long refundTime;

    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    @ApiModelProperty(value = "更新时间")
    private Long updateTime;

    @ApiModelProperty(value = "sku商品种类数")
    private Integer num;

    @ApiModelProperty(value = "收件人手机号")
    private String mobile;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "是否申请退款 0未申请 1已申请")
    private Integer refund;

    @ApiModelProperty(value = "退款状态，枚举：[0, \"未申请\"] [10, \"买家仅退款申请\"] [11, \"买家退货退款申请\"] [20, \"平台介入-买家仅退款申请\"] [21, \"平台介入-买家退货退款申请\"] [22, \"平台介入-已确认退货退款\"] [30, \"商品回寄信息待买家更新\"] [40, \"商品回寄信息待卖家确认\"] [50, \"退款执行中\"] [60, \"退款成功\"] [70, \"退款失败\"]")
    private Integer ksRefundStatus;

    @ApiModelProperty(value = "退款id")
    private Long ksRefundId;

    @ApiModelProperty(value = "卖家备注")
    @TableField("seller_note_list")
    private String sellerNoteList;

    @ApiModelProperty(value = "发货间隔时间，单位：天")
    private Long theDayOfDeliverGoodsTime;

    @ApiModelProperty(value = "非预售商品承诺发货时间点,即订单支付时间+承诺发货时间间隔")
    private Long promiseTimeStampOfDelivery;

    @ApiModelProperty(value = "商品品信息列表")
    private String orderProductInfoList;

    @ApiModelProperty(value = "活动类型")
    private Integer activityType;

    @ApiModelProperty(value = "分销类型 0-全部 1-普通订单 2-分销订单")
    private Integer cpsType;

    @ApiModelProperty(value = "支付方式 1微信 2支付宝")
    private Integer payType;

    @ApiModelProperty(value = "推送lm状态 0未推送 1已推送 2推送失败")
    private Integer putLmStatus;

    @ApiModelProperty(value = "lm发货状态 0发货 1已发货")
    private Integer sendStatus;

    @ApiModelProperty(value = "快递公司名称")
    private String expressName;

    @ApiModelProperty(value = "快递单号")
    private String expressNo;

    @ApiModelProperty(value = "快递公司code，由https://open.kwaixiaodian.com/docs/dev?id=VRk7NdU6ZI获取")
    private Integer expressCode;


    @ApiModelProperty(value = "平台商品的订单 0未确定 1是 2不是")
    private Integer selfOrder;


    @ApiModelProperty(value = "订单号，对外统⼀使⽤此ID做主键操作")
    private String lmOrderId;


    @ApiModelProperty(value = "淘宝订单号")
    private String tbOrderId;

    @ApiModelProperty(value = "lm推送错误报文")
    private String lmErrMsg;

    @ApiModelProperty(value = "ks错误报文")
    private String ksErrMsg;

    @ApiModelProperty(value = "推送物流状态 0未推送，1已经推送 2推送失败")
    private Integer putExpressStatus;

    @ApiModelProperty(value = "确定收货状态 0未确定 1已确定 2确定失败")
    private Integer putLmConfirmStatus;

    @ApiModelProperty(value = "lm退款状态 0未申请 1已申请 2已退款 3拒绝退款 4申请失败 5已取消 6已提交物流 7提交物流失败 8取消退款失败")
    private Integer lmRefundStatus;

    @ApiModelProperty(value = "lm退款返回信息")
    private String lmRefundMsg;

    @ApiModelProperty(value = "lm平台订单状态 0未知 1=未发货 -> 等待卖家发货 2=已发货 -> 等待买家确认收货 3=已收货 -> 交易成功 4=已经退货 -> 交易失败 5=部分收货 -> 交易成功 6=部分发货 中 8=还未创建物流订单\",")
    private Integer lmOrderStatus;

}
